Method and system for providing directory services for peer-to-peer communications

ABSTRACT

A broadband gateway, which enables communication with a plurality of devices and handles at least one physical layer connection to at least one corresponding network access service provider. A user may be associated with one or more of the plurality of devices. A directory may be generated by the broadband gateway for the peer-to-peer communications based on the identified one or more individuals. The directory may comprise name information, location information, contact information, communication device information, and/or content sharing information. The broadband gateway may communicate the directory to one or more network access service providers and/or one or more content providers. Peer-to-peer exchanges and/or network resource allocations for the peer-to-peer communications may be controlled and/or monitored by the network access services providers and/or the content providers based on information in the directory.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This patent application is a continuation of U.S. patent application Ser. No. 12/982,022, filed Dec. 30, 2010, which claims the benefit of and priority to U.S. Provisional Application No. 61/351,696, filed on Jun. 4, 2010. Both U.S. patent application Ser. No. 12/982,022 and U.S. Provisional Application No. 61/351,696 are hereby incorporated by reference in their entireties.

This application also makes reference to: U.S. patent application Ser. No. 12/355,377 filed on Jan. 16, 2009; U.S. patent application Ser. No. 12/355,413 filed on Jan. 16, 2009; U.S. patent application Ser. No. 12/355,480 filed on Jan. 16, 2009; U.S. patent application Ser. No. 12/395,383 filed on Feb. 27, 2009; U.S. patent application Ser. No. 12/982,321 (Attorney Docket No. 23397US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,355 (Attorney Docket No. 23398US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/298,971 (Attorney Docket No. 23399US02) filed on Nov. 3, 2010; U.S. patent application Ser. No. 12/981,993 (Attorney Docket No. 23400US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,216 (Attorney Docket No. 23401 US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,433 (Attorney Docket No. 23402US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,205 (Attorney Docket No. 23403US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,353 (Attorney Docket No. 23404US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/981,966 (Attorney Docket No. 23405US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,453 (Attorney Docket No. 23406US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,172 (Attorney Docket No. 23407US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,429 (Attorney Docket No. 23408US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/981,990 (Attorney Docket No. 23409US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,442 (Attorney Docket No. 23410US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,000 (Attorney Docket No. 23411US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,010 (Attorney Docket No. 23412US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/981,986 (Attorney Docket No. 23414US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,236 (Attorney Docket No. 23415US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,091 (Attorney Docket No. 23416US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,213 (Attorney Docket No. 23417US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,166 (Attorney Docket No. 23418US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,340 (Attorney Docket No. 23419US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,073 (Attorney Docket No. 23420US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,501 (Attorney Docket No. 23421US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,206 (Attorney Docket No. 23422US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,440 (Attorney Docket No. 23423US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,171 (Attorney Docket No. 23424US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,223 (Attorney Docket No. 23425US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,305 (Attorney Docket No. 23426US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,477 (Attorney Docket No. 23427US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,331 (Attorney Docket No. 23428US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,036 (Attorney Docket No. 23429US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,196 (Attorney Docket No. 23430US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,391 (Attorney Docket No. 23431US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,405 (Attorney Docket No. 23432US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/981,753 (Attorney Docket No. 23433US02) filed on Dec. 30, 2010; U.S. patent application Ser. No. 12/982,414 (Attorney Docket No. 23434US02) filed on Dec. 30, 2010; and U.S. patent application Ser. No. 12/981,753 (Attorney Docket No. 23435US02) filed on Dec. 30, 2010;

Each of the above stated applications is hereby incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

Certain embodiments of the invention relate to communication systems. More specifically, certain embodiments of the invention relate to a method and system for providing directory services by a gateway for peer-to-peer communications.

BACKGROUND OF THE INVENTION

Telecommunication technologies have evolved from analog to digital technologies, and continues to evolve from circuit switched to packet switched, from connection oriented packet switching to connectionless packet switching, and from narrow band application to broadband applications. The accompanied evolution in telecommunication technologies has significantly advanced operators' capability to offer broadband, IP-based multimedia services ranging from entertainment and lifestyle applications such as mobile TV and mobile payment to professional services such as video conferencing and real-time data exchange.

With the continuous growth of digital television or broadcast multimedia, and/or broadband access, which may be used in conjunction with online businesses, social networks, and/or other online services and applications, users may desire having access to a larger number of providers and/or a broader range of content in a manner that is flexible and/or suits the users' lifestyles. Most users connect to the Internet using web browsers running on personal computers (PCs). Furthermore, most households may have one or more display devices that may be used to view television and/or multimedia broadcasts. Television broadcasts may include terrestrial TV, Cable-Television (CATV), satellite TV and/or Internet Protocol television (IPTV) based broadcasts. To ensure against unauthorized reception and/or use of TV and/or multimedia broadcast, service providers may require use of dedicated equipment such as set-top boxes (STBs) that may be used to encrypt broadcast signals communicated from the service providers to generate suitable video and/or audio streams that may be played via televisions and/or other display/playback devices in the household. Furthermore, STBs and/or TVs may support Internet access. Thus, rather than using a computer to access the Internet, a user may find it more convenient to use the flat screen televisions and/or monitors in home networks for the same purpose.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

A system and/or method for providing directory services by a gateway for peer-to-peer communications, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

Various advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an exemplary communication system that is operable to provide directory services by a gateway for peer-to-peer communications, in accordance with an embodiment.

FIG. 2 is a block diagram illustrating an exemplary broadband gateway that is operable to provide directory services for peer-to-peer communications, in accordance with an embodiment.

FIG. 3 is a block diagram illustrating an exemplary directory for peer-to-peer communications, in accordance with an embodiment.

FIG. 4 is a flow chart illustrating exemplary steps for providing directory services by a gateway for peer-to-peer communications, in accordance with an embodiment.

FIG. 5 is a flow chart illustrating exemplary steps for controlling and/or monitoring peer-to-peer communications based on information in directory, in accordance with an embodiment.

DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments can be found in a method and system for providing directory services by a gateway for peer-to-peer communications. In various embodiments, a broadband gateway, which enables communication with a plurality of devices and handles at least one physical layer connection to at least one corresponding network access service provider, may be operable to identify one or more individuals with whom a particular user may desire to engage in peer-to-peer communications. The particular user may be associated with one or more of the plurality of devices. A directory or listing associated with the identified one or more individuals may be generated by the broadband gateway for supporting the peer-to-peer communications based on the identified one or more individuals. The peer-to-peer communications may comprise, for example, content sharing, files sharing, website hosting and/or video gaming.

The at least one physical layer connection may comprise, for example, a plurality of physical layer connections and the at least one corresponding network access service provider may comprise a plurality of corresponding network access service providers. In this regard, each of the plurality of physical layer connections may correspond to a respective one of the plurality of corresponding network access service providers.

In an exemplary embodiment, the directory may comprise name information, location information, contact information, communication device information, content sharing information and/or other related information which are associated with the particular user and each of the one or more individuals. The one or more individuals may be identified and/or the directory may be generated, based on inputs or suggestions from, for example, the particular user, one or more other broadband gateways, one or more network access service providers and/or one or more content providers.

The broadband gateway may be operable to communicate the generated directory to one or more network access service providers and/or one or more content providers, for example. Accordingly, peer-to-peer exchanges and/or network resource allocations for supporting the peer-to-peer communications may be controlled and/or monitored by the one or more network access service providers and/or the one or more content providers based on information in the directory, for example.

FIG. 1 is a block diagram illustrating an exemplary communication system that is operable to provide directory services by a gateway for peer-to-peer communications, in accordance with an embodiment. Referring to FIG. 1, there is shown a communication system 100. The communication system 100 may comprise a plurality of broadband gateways of which broadband gateways 102, 103 are illustrated, a plurality of distribution networks 110, a plurality of devices 104 a-104 d, 105 a-105 d, which are collectively referred to herein as devices 104 and 105 respectively, a plurality of network access service providers 120 of which network access service providers 120 a-120 c are illustrated and a plurality of content providers 130 of which content providers 130 a-130 c are illustrated. The devices 104 a-104 d may be serviced by the broadband gateway 102. A user 114 may be associated with one or more of the devices 104 a-104 d. The devices 105 a-105 d may be serviced by the broadband gateway 103. A user 115 may be associated with one or more of the devices 105 a-105 d.

A content provider such as the content provider 130 a may comprise suitable logic, circuitry, interfaces and/or code that may be operable to generate, capture and/or package content such as, for example, multimedia content that may be distributed to one or more of the devices 104 a-104 d, 105 a-105 d via one or more of the network access service providers 120 a-120 c and the corresponding broadband gateways 102, 103. The content may be, for example, downloadable or streaming, and/or rented or purchased. In one embodiment, a content provider, such as the content provider 130 a, may provide inputs to the broadband gateway 102 for identifying one or more individuals such as the user 115, and/or for generating a directory for peer-to-peer communications between the user 114 and one or more of the identified individuals such as the user 115. The content provider 130 a may then control and/or monitor peer-to-peer exchanges or content sharing based on information provided in the directory.

A network access service provider such as the network access service provider 120 a may comprise suitable logic, circuitry, interfaces and/or code that may be operable to provide services using different access technologies to one or more of the devices 104 a-104 d, 105 a-105 d for end-users via the corresponding broadband gateways 102, 103. The services may include, but are not limited to, multimedia, television, Internet, phone, Ethernet, multimedia over coax alliance (MoCA), passive optical network (PON), and/or cellular services, for example. The network access service providers 120 may provide physical layer connections to the broadband gateways 102, 103. Such physical layer connections may then be utilized by the broadband gateways 102, 103 to access content provided by the content providers 130, to access services provided by other service providers, and/or to access an intranet or the Internet at-large. In this regard, “network access service provider” as utilized herein, is distinguished from the more generic term “service provider” which may encompass services other than providing physical layer access. Cable television (CATV) providers, plain old telephone service (POTS) providers, digital subscriber line (DSL) providers, cellular service providers, WiMAX providers and/or satellite providers are examples of the network access service providers 120. In some instances, a network access service provider such as the network access service provider 120 c may be a provider that provides both content and services.

In one embodiment, a network access service provider, such as the network access service provider 120 c, may provide inputs to the broadband gateway 102 for identifying one or more individuals such as the user 115, and/or for generating a directory for peer-to-peer communications between the user 114 and one or more of the identified individuals such as the user 115. The network access service provider 120 c may then control and/or monitor peer-to-peer exchanges and/or network resource allocations for supporting the peer-to-peer communications based on information provided in the directory.

A broadband gateway such as the broadband gateway 102 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to provide an interface and connectivity between one or more of the devices 104 a-104 d and one or more of the distribution networks 110. For example, the broadband gateway 102 may support configuring and/or using a plurality of broadband connections 108 to the distribution networks 110. The broadband connections 108 may comprise wired and/or wireless connections between the broadband gateway 102 and the distribution networks 110. In this regard, the broadband gateway 102 may be operable to perform and/or provide various services that may pertain to enabling and/or facilitating reception of content such as multimedia content from one or more of the content providers 130 a-130 c. The content may be delivered through one or more of the network access service providers 120. The broadband gateway 102 may communicate with various devices 104 a-104 d using wired, optical and/or wireless communication links 106. Similarly, the broadband gateway 103 may support configuring and/or using a plurality of broadband connections 109 to the distribution networks 110. The broadband gateway 103 may communicate with various devices 105 a-105 d using wired, optical and/or wireless communication links 107.

A single broadband gateway such as the broadband gateway 102 may be operable to handle a plurality of physical layer connections to the distribution networks 110, where different ones or portions of the distribution networks 110 may be owned, operated, leased or associated with different ones of the network access service providers 120. A physical layer may refer to an open systems interconnection (OSI) layer 1. In this regard, for example, a first network access service provider such as network access the service provider 120 a may provide network access to the broadband gateway 102 via a DSL connection over twisted-pair cabling, and a second network access service provider such as the network access service provider 120 b may provide network access to the broadband gateway 102 via a cable television connection over coaxial cabling. In some instances, the broadband gateway 102 may be operable to concurrently communicate over the plurality of physical layer connections provided by the plurality of network access service providers 120.

A broadband gateway such as the broadband gateway 102 may be located at a residential location such as a home. The broadband gateway 102 may also be located in non-residential location comprising, for example, a commercial building, an office, an office complex, an apartment building and/or a factory. While the broadband gateway 102 may be illustrated as a single and separate device in FIG. 1, other embodiments may not use such a device. In one embodiment, some functionalities of the broadband gateway 102 may be implemented in a distributed manner over two or more devices locally and/or remotely. For example, some of the functionalities of the broadband gateway 102 may be implemented within one of the televisions available in the home. Furthermore, the broadband gateway 102 may be implemented as a virtual platform, for example.

In an exemplary embodiment, a broadband gateway such as the broadband gateway 102 may be operable to generate a directory for the user 104 for supporting peer-to-peer communications with other individuals such as the user 115. The broadband gateway 102 may share the directory information with one or more network access service providers such as the network access service provider 120 c and/or one or more content providers such as the content provider 130 a. The directory information may then be utilized by the one or more network access service providers such as the network access service provider 120 c and/or the one or more content providers such as the content provider 130 a for controlling and/or monitoring peer-to-peer exchanges and/or network resource allocations.

A device such as the device 104 a may comprise suitable logic, circuitry, interfaces and/or code that may be operable to interact with the broadband gateway 102. The devices 104 a-104 d serviced by, and/or connected with the broadband gateway 102 may comprise content consuming devices and/or non-content consuming household devices. For example, the devices 104 may comprise a television, a set-top box (STB), a laptop computer, a smoke detector, a carbon monoxide detector, a security alarm, a desk top computer and/or server, a mobile phone, a speaker, an AM/FM radio, a phone, and/or an appliance such as a refrigerator. The devices 104 a-104 d may interact with the broadband gateway 102 via the links 106 utilizing various wired and/or wireless communication technologies such as, for example, Bluetooth, LTE, WiFi and/or Ethernet. Similarly, the devices 105 a-105 d may interact with the broadband gateway 103 via the links 107 utilizing various wired and/or wireless communication technologies. One or more of the devices 104 a-104 d may be associated with the user 114, and one or more of the devices 105 a-105 d may be associated with the user 115.

In one embodiment illustrated in FIG. 1, although the devices 104 a-104 d communicate with only the broadband gateway 102 as shown and the devices 105 a-105 d communicate with only the broadband gateway 103 as shown, other embodiments devices 104 a-104 d and 105 a-105 d may communicate with other gateways. Accordingly, the devices 104 a-104 d may communicate with multiple broadband gateways in a local or home network and the devices 105 a-105 d may communicate with multiple broadband gateways in a local or home network without departing from the spirit and scope of various embodiments.

The distribution networks 110 may comprise suitable logic, circuitry, communication devices, interfaces and/or code that may be operable to enable wireless and/or wired communication among a plurality of local and/or remote entities, based on one or more networking and/or communication infrastructures. In this regard, one or more of the distribution networks 110 may be utilized to enable distribution of content such as multimedia content generated by one or more of the content providers 130 a-130 c, via one or more of the network access service providers 120 a-120 c, to one or more of the devices 104 a-104 d, 105 a-105 d. The network connectivity available via the distribution networks 110 may be based on one or more communication standards and/or protocols. The distribution networks 110 may comprise, for example, Internet, cable television (CATV) network, satellite television (TV) network, wired or wireless local area network (LAN), wired or wireless wide area network (WAN), personal area network (PAN) and/or cellular network. In one embodiment, the distribution networks 110 may provide resources to support peer-to-peer communications between, for example, a communication device such as the device 104 a associated with the user 114 and a communication device such as the device 105 a associated with the user 115, as illustrated by the link 140. For example, the distribution networks 110 may allocate necessary network communication devices to establish the link 140 for supporting the peer-to-peer communications. The network communication devices may comprise, for example, layer 1 hubs, layer 2 or layer 3 switches, routers and/or other network communication devices.

In operation, the broadband gateway 102 may be operable to identify one or more individuals such as the user 115 with whom the user 114 may desire to engage in peer-to-peer communications. A directory which comprises information related to the user 114 and each of the one or more individuals may be generated by the broadband gateway 102 for supporting the peer-to-peer communications. In this regard, the peer to-peer communications may comprise, for example, content sharing, files sharing, website hosting and/or video gaming. The directory may comprise name information, location information, contact information, communication device information, content sharing information and/or other related information which are associated with the user 114 and each of the one or more individuals such as the user 115. For example, the directory may comprise a communication device such as the device 104 a which is associated with the user 114. The directory may provide information indicating that the device 104 a comprises some particular video content which may be shared via peer-to-peer communications with each of the one or more individuals in the directory such as the user 115.

In an exemplary embodiment, the one or more individuals may be identified and/or the directory may be generated, based on inputs or suggestions from the user 114, one or more other broadband gateways such as the broadband gateway 103, one or more network access service providers such as the network access service provider 120 c and/or one or more content providers such as the content provider 130 a.

In an exemplary embodiment, the broadband gateway 102 may be operable to communicate and/or share the generated directory to one or more network access service providers such as the network access service provider 120 c and/or one or more content providers such as the content provider 130 a. Accordingly, peer-to-peer exchanges and/or network resource allocations for supporting the peer-to-peer communications may be controlled and/or monitored by the one or more network access service providers such as the network access service provider 120 c and/or the one or more content providers such as the content provider 130 a, based on information in the directory. In this regard, for example, the content provider 130 a may control and/or monitor the content sharing between the device 104 a associated with the user 114 and the device 105 a associated with the user 115, based on the content sharing information provided in the directory. The content sharing information may provide the content provider 130 a with information such as availability and/or permission of the content sharing. The network access service provider 120 c may control and/or monitor the network resource allocations associated with the peer-to-peer link 140 for supporting the peer-to-peer content sharing, based on the location information provided in the directory, for example. The location information may provide the network access service provider 120 c with physical locations or addresses associated with the device 104 a and the device 105 a. Accordingly, the network access service provider 120 c may allocate available network communication devices and/or resources such as bandwidth and cache stores, to establish the peer-to-peer link 140. In instances when one or more network communication devices such as a switch in the link 140 become unavailable during the peer-to-peer content sharing, the network access service provider 120 c may switch the unavailable switch to other available switch so as to keep the peer-to-peer link 140 available for the peer-to-peer content sharing, for example.

FIG. 2 is a block diagram illustrating an exemplary broadband gateway that is operable to provide directory services for peer-to-peer communications, in accordance with one embodiment. Referring to FIG. 2, there is shown a broadband gateway 200. The broadband gateway 200 may be substantially similar to the broadband gateway 102 in FIG. 1. The broadband gateway 200 may comprise a provider interface module 202, a processor 204, a memory 206, a client device interface module 208 and a directory service module 210.

The provider interface module 202 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to receive data from one or more network access service providers 220 a-220 b. The provider interface module 202 may also be operable to send data to one or more network access service providers 220 a-220 b. The provider interface module 202 may be operable to support multiple communication protocols, standards, and/or data transport technologies. The provider interface module 202 may be communicatively coupled to one or more network access service providers 220 a-220 b via one or more physical layer connections 230 a-230 b. In this regard, each of the physical layer connections 230 a-230 b may connect the broadband gateway 200 to one of different network access service providers 220 a-220 b. Each of the physical layer connections 230 a-230 b may comprise a wired, optical and/or wireless connection. For example, the physical layer connection 230 a may comprise a DSL over twisted-pair connection while the physical layer connection 230 b may comprise a CATV over coaxial cable connection.

The processor 204 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to process data received from the network access service providers 220 a-220 b and/or the content providers 130 a-130 c and/or data received from one or more of the devices 104 a-104 d. In this regard, the processor 204 may comprise one or more portions that are suitable to handle certain types of data such as video data and/or audio data, for example.

The directory service module 210 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to identify one or more individuals for a user such as the user 114, where the user 114 may desire to engage in peer-to-peer communications with each of the one or more individuals such as the user 115. The directory service module 210 may generate or construct a directory based on information associated with the identified one or more individuals. The directory service module 210 may share the directory information with one or more network access service providers such as the network access service provider 220 a and/or one or more content providers such as the content provider 130 a for controlling and/or monitoring peer-to-peer exchanges and/or network resource allocations.

The memory 206 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to store data utilized in the operations of the broadband gateway 200. For example, the memory 206 may be utilized to store configuration data, parameters, device information, tracking and/or monitoring information, security information, and intermediate processing data, for example. In one embodiment, the memory 206 may be operable to store a directory generated by the directory service module 210. The memory 206 may comprise storage media integrated in the broadband gateway 200 and/or a removable storage device.

The client device interface module 208 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to send data to one or more of the devices such as the devices 104 a-104 d in a local or home network. The client device interface module 208 may also be operable to receive data from one or more of the devices 104 a-104 d in the local or home network. The client device interface module 208 may be operable to support multiple communication protocols, standards, and/or data transport technologies.

In operation, a broadband gateway such as the broadband gateway 200 may provide connections and/or interfaces for various devices such as the devices 104 a-104 d to distribution networks such as the distribution networks 110. One or more of the devices 104 a-104 d may be associated with a user such as the user 114. The directory service module 210 in the broadband gateway 200 may be operable to identify one or more individuals such as the user 115 with whom the user 114 may have a desire to engage in peer-to-peer communications. A directory which comprises information related to the user 114 and each of the one or more individuals may be generated by the directory service module 210 for supporting the peer-to-peer communications. The directory may comprise, for example, name information, location information, contact information, communication device information, content sharing information and/or other related information which are associated with the user 114 and each of the one or more individuals such as the user 115. For example, the directory may comprise a communication device such as the device 104 a which is associated with the user 114 and a communication device such as the device 105 a which as associated with the user 115. The directory information may indicate that the device 104 a comprises some particular content file which may be shared, via peer-to-peer communications, with the device 105 a associated with the user 115, for example.

In one embodiment, the directory service module 210 may identify the one or more individuals and/or construct the directory based on inputs and/or suggestions from the user 114, from one or more other broadband gateways such as the broadband gateway 103, from one or more network access service providers such as the network access service provider 220 a and/or from one or more content providers such as the content provider 130 a.

In one embodiment, the directory service module 210 may communicate and/or share the generated directory to one or more network access service providers such as the network access service provider 220 a and/or one or more content providers such as the content provider 130 a. Accordingly, peer-to-peer exchanges and/or network resource allocations for supporting the peer-to-peer communications may be controlled and/or monitored by the one or more network access service providers such as the network access service provider 220 a and/or the one or more content providers such as the content provider 130 a, based on information in the directory. In this regard, for example, a content file that is exchanged between the device 104 a associated with the user 114 and the device 105 a associated with the user 115 may be controlled and/or monitored by the content provider 130 a, based on the content sharing information provided in the directory. The network resource allocations associated with the peer-to-peer communication link such as the link 140 for supporting the peer-to-peer content file exchanges may be controlled and/or monitored by the network access service provider 220 a, based on the location information associated with the device 104 a and the device 105 a.

FIG. 3 is a block diagram illustrating an exemplary directory for peer-to-peer communications, in accordance with one embodiment. Referring to FIG. 3, there is shown a directory 300. The directory 300 may comprise a user name 301, one or more individual names of which individual name 311 is illustrated, a plurality of contact information of which contact information 302, 312 are illustrated, a plurality of communication devices of which communication devices 303 a-303 c, 313 a-313 b are illustrated, a plurality of location information of which location information 304 a-304 c, 314 a-314 b are illustrated, and a plurality of content sharing information of which content sharing information 305 a, 305 c, 315 a are illustrated. A user with the user name 301 may be substantially similar to the user 114 in FIG. 1. An individual with the individual name 311 may be substantially similar to the user 115 in FIG. 1. The contact information 302 and the communication devices 303 a-303 c are associated with the user name 301. The contact information 312 and the communication devices 313 a-313 b are associated with the individual name 311. The location information 304 a and the content sharing information 305 a are associated with the communication devices 303 a. The location information 304 b is associated with the communication device 303 b. The location information 304 c and the content sharing information 305 c are associated with the communication device 303 c. The location information 314 a and the content sharing information 315 a are associated with the communication device 313 a. The location information 314 b is associated with the communication device 313 b. The content sharing information such as the content sharing information 305 a may comprise, for example, a name, a type and/or a provider of the content in the communication device 303 a and may comprise information pertaining to availability and/or permission for peer-to-peer content sharing or exchange with other communication devices in the directory, such as the communication devices 303 b, 303 c, 313 a and/or 313 b.

In an exemplary embodiment, the directory service module 210 in the broadband gateway 200 may be operable to identify one or more individuals such as an individual with the individual name 311 for peer-to-peer communications with a user such as a user with the user name 301. The directory 300 may be generated or constructed by the directory service module 210 for supporting the peer-to-peer communications among the user with the user name 301 and one or more identified individuals such as the individual with the individual name 311. The directory service module 210 may communicate or share the directory 300 with one or more network access service providers such as the network access service provider 220 a and/or one or more content providers such as the content provider 130 a. In this regard, for example, the content sharing or exchange between the communication device 303 a and the communications device 313 b may be controlled and/or monitored by the content provider 130 a, based on the content sharing information 305 a in the directory 300. The network resource allocations for supporting the peer-to-peer communications between the communication device 303 a and the communication device 313 b may be managed by the network access service provider 220 a, based on the location information 304 a and the location information 314 b in the directory 300.

In the exemplary embodiment illustrated in FIG. 3, only the contact information 302, 312, the communication devices 303 a-303 c, 313 a-313 b, the location information 304 a-304 c, 314 a-314 b and the content sharing information 305 a, 305 c, 315 a are shown. Notwithstanding, the embodiments are not so limited and other related information may also be illustrated without departing from the spirit and scope of various embodiments.

FIG. 4 is a flow chart illustrating exemplary steps for providing directory services by a gateway for peer-to-peer communications, in accordance with an embodiment. Referring to FIG. 4, the exemplary steps start at step 401. In step 402, the directory service module in the broadband gateway 200 may be operable to identify one or more individuals with whom a user such as the user 114 may have a desire to engage in peer-to-peer communications. The identification of the one or more individuals such as the user 115 may be initiated or suggested by the user 114. In step 403, the directory service module 210 may generate or construct a directory 300 which may comprise information related to the user 114 and each of the identified one or more individuals such as the user 115 for supporting the peer-to-peer communications. The generation of the directory 300 may be based on inputs and/or suggestions from, for example, the user 114, one or more other broadband gateways such as the broadband gateway 103, one or more network access service providers such as the network access service provider 220 a, and/or one or more content providers such as the content provider 130 a.

In step 404, the directory service module 210 may communicate or share the directory 300 to the one or more network access service providers such as the network access service provider 220 a and/or the one or more content providers such as the content provider 130 a. In this regard, peer-to-peer exchanges and/or network resource allocations for supporting the peer-to-peer communications may be controlled and/or monitored based on information in the directory 300. The exemplary steps may proceed to the end step 405.

FIG. 5 is a flow chart illustrating exemplary operations for controlling and/or monitoring peer-to-peer communications based on information in directory, in accordance with one embodiment. Referring to FIG. 5, the exemplary operations start at operation 501. In operation 502, a network access service provider such as the network access service provider 120 c may be operable to receive a directory 300 for supporting peer-to-peer communications for a user such as the user 114 from a broadband gateway 102 associated with the user 114. In operation 503, the network access service provider 120 c may manage network resource allocations for supporting the peer-to-peer communications for the user 114 based on information such as location information 304 a, 314 b in the directory 300. In operation 504, the network access service provider 120 c, which also provides content services, may be operable to control and/or monitor content exchanges for the peer-to-peer communications for the user 114 based on information such as content sharing information 305 a in the directory 300. The exemplary operations may proceed to the end operation 505.

In various embodiments, a broadband gateway 102, 200 may communicate with a plurality of devices 104 a-104 d and may handle at least one physical layer connection to at least one corresponding network access service provider. In this regard, for example, the at least one physical layer connection may comprise, for example, a plurality of physical layer connections 230 a-230 b and the at least one corresponding network access service provider may comprise a plurality of corresponding network access service providers 220 a-220 b. Each of the plurality of physical layer connections 230 a-230 b may correspond to a respective one of the plurality of corresponding network access service providers 220 a-220 b.

A directory service module 210 in the broadband gateway 200 may be operable to identify one or more individuals with whom a particular user such as the user 114 may desire to engage in peer-to-peer communications. The user 114 may be associated with one or more of the plurality of devices 104 a-104. A directory or listing associated with the identified one or more individuals such as the user 115 may be generated by the directory service module 210 for supporting the peer-to-peer communications based on the identified one or more individuals. In this regard, for example, the peer-to-peer communications may comprise content sharing, files sharing and/or video gaming.

In an exemplary embodiment, the directory 300 may comprise name information 301, 311, location information 304 a-304 c, 314 a-314 b, contact information 302, 312, communication device information 303 a-303 c, 313 a-313 b, content sharing information 305 a, 305 c, 315 a, and/or other related information which are associated with the user 114 and each of the one or more individuals such as the user 115. The one or more individuals may be identified and/or the directory 300 may be generated, based on inputs or suggestions from, for example, the user 114, one or more other broadband gateways such as the broadband gateway 103, one or more network access service providers such as the network access service provider 120 c and/or one or more content providers such as the content provider 130 a.

The directory service module 210 may be operable to communicate the generated directory 300 to one or more network access service providers such as the network access service provider 220 a and/or one or more content providers such as the content provider 130 a, for example. Accordingly, peer-to-peer exchanges and/or network resource allocations for supporting the peer-to-peer communications may be controlled and/or monitored by the one or more network access service providers such as the network access service provider 220 a and/or the one or more content providers such as the content provider 130 a, based on information in the directory 300, for example.

Other embodiments may provide a non-transitory computer readable medium and/or storage medium, and/or a non-transitory machine readable medium and/or storage medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for providing directory services by a gateway for peer-to-peer communications.

Accordingly, embodiments of the components in the features 1-3 may be realized in hardware, software, or a combination of hardware and software. The embodiments of the components in the features 1-3 may be realized in a centralized fashion in at least one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The components of features 1-3 may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. 

What is claimed is:
 1. A method of communication between a plurality of devices, the method comprising, identifying a first device of the plurality of devices for peer-to-peer communication; identifying a second device of the plurality of devices for the peer-to-peer communication; generating by a gateway a directory supporting the peer-to-peer communications, the directory comprising at least one of name information, location information, contact information, communication device information, or content sharing information associated with the first device and at least one of name information, location information, contact information, communication device information, or content sharing information for the second device; and communicating, by the broadband gateway, the directory to at least one network access service provider, for allocating at least one network resource to support the peer-to-peer communications.
 2. The method of claim 1, wherein the gateway is a broadband gateway configured to handle at least one physical layer connection associated with the at least one network access service provider.
 3. The method of claim 1, wherein the network access service provider comprises a plurality of corresponding network access service providers, and the at least one of the physical layer connection comprises a plurality of physical layer connections, and each of the plurality of physical layer connections corresponds to a respective one of the plurality of corresponding network access service providers.
 4. The method of claim 1, further comprising generating the directory based at least in part on at least one input received from the first device.
 5. The method of claim 1, further comprising generating the directory based at least in part on at least one input from at least one other gateway.
 6. The method of claim 1, further comprising generating the directory based on at least in part on at least one input from at least one network access service provider.
 7. The method of claim 1, further comprising generating the directory based on at least in part on at least one input from at least one content provider.
 8. The method of claim 1, further comprising generating, by the gateway, the directory to comprise the name information, the gateway being a broadband gateway.
 9. The method of claim 1, further comprising generating, by the gateway, the directory to comprise the content storing information, the gateway being a broadband gateway.
 10. The method of claim 1, further comprising communicating the directory to at least one content provider.
 11. A system for communication, the system comprising: a device interface for communication with a plurality of devices; a provider interface for communication with at least one network access service provider; a directory service module for generating a directory supporting communications between a first device and a second device, the directory comprising at least one of name information, location information, contact information, communication device information, or content sharing information for the first device and at least one of name information, location information, contact information, communication device information, or content sharing information for the second device; and wherein the directory is communicated to at least one network access service provider via the provider interface for allocating at least one network resource to support the communications between the first device and the second device.
 12. The system of claim 11, wherein at least one physical layer connection is coupled to the provider interface.
 13. The system of claim 11, wherein the directory service module is configured to generate the directory based at least in part on the at least one input associated with the first device.
 14. The system of claim 11, wherein the directory service module is configured to generate said the directory based at least in part on at least one input from at least one other broadband gateway.
 15. The system of claim 11, wherein the directory service module is configured to generate the directory at least in part on at least on input from the at least one network access service provider.
 16. A method for communication, the method comprising: receiving by a network access service provider a directory supporting peer-to-peer communications between a first device and a second device, the directory comprising at least one of name information, location information, contact information, communication device information, or content sharing information for the first device and at least one of name information, location information, contact information, communication device information, or content sharing information for the second device; and allocating by the network access service provider, based at least in part on the directory, at least one network resource to support peer-to-peer communications between the first device and the second device.
 17. The method of claim 16, wherein the network service provider is coupled to at least one physical layer connection.
 18. The method of claim 16, further comprising communicating the directory to the at least one network resource.
 19. The method of claim 17 where the at least one network resource comprises a content provider.
 20. The method of claim 16, wherein the network access service provider receives the directory from a broadband gateway. 